#include <iostream>
#include <sstream>
#include <string>
#include <memory>
#include <jsoncpp/json/json.h>
using std::cin;
using std::cout;
using std::endl;

int main()
{
    const char *name = "小王";
    int age = 10;
    float score[] = {10, 1, 2}; // 分数
    Json::Value val;            // json值对象
    val["姓名"] = name;
    val["年龄"] = age;
    val["成绩"].append(score[0]);
    val["成绩"].append(score[1]);
    val["成绩"].append(score[2]);

    // Json::StreamWriterBuilder swb;
    // std::unique_ptr<Json::StreamWriter> sw(swb.newStreamWriter());
    // std::stringstream ss;          // 字符串流对象
    // int re = sw->write(val, &ss); // Json格式对象转成字符串，输出的stringstream对象
    // if (re != 0)
    // {
    //     perror("serialize fail");
    //     return -1;
    // }
    // else
    // {
    //     cout << ss.str() << endl; // 获取其中string字符串用于打印
    // }
    Json::StyledWriter sw;
    std::string jsonStr = sw.write(val);//以易阅读的风格输出
    cout << jsonStr << endl;

    return 0;
}